Computer files, such as Java class files, may have specific standard formats. The standard formats of computer may limit the data that can be provided in relation to the files. For this reason, annotations may be provided to add additional information regarding computer files. Annotations may potentially be found anywhere within a set of computer files.
In a particular example, Java allows annotations to Java class files, with the practice now being specifically described in annotations under Java release 5.0 (Java under the JDK (Java Development Kit) 5.0) as provided in JSR-175 recommendation regarding code annotations. The annotations may add guidance regarding certain class files. Thus, a Java class file may include one or more annotations associated with program elements.
It may become necessary or useful to filter program files in order to obtain annotation values and annotated program elements that may be present in the files. However, the filtering of the program files may require a significant amount of processing time because the annotations may be scattered throughout the computer files in an unpredictable manner. Further, the filtering process may be not easily adaptable to dynamic changes in filtering requirements that may occur as annotations are examined in the process.